import * as vscode from 'vscode';
import { createLuaCompletionProvider } from './completion';
import {createAuthorizeProvider} from "./authorize";
import {createAlg996Provider} from "./alg_996";
import {algGPTSidebar} from "./algGPTSidebar";
import {algWorkbench} from "./algWorkbench";
import {frontEndBy996} from "./frontEndBy996";
import {backEndDocBy996} from "./backEndBy996";
import {luaGlobalIgnore} from "./luaGlobalIgnore";
import {createLuaHoverCompletionProvider} from "./completion/showHover";

export function activate(context: vscode.ExtensionContext) {



	// 996函数错误忽略
	luaGlobalIgnore(context);

	// 996前端文档
	frontEndBy996(context);
	// 996后端文档
	backEndDocBy996(context);

	// 996纯lua引擎工作台
	algWorkbench(context);

	// 996文档AI助手
	algGPTSidebar(context);


	// alg_996 测试插件
	createAlg996Provider(context);

    // 注册 代码提示提供器 授权
    createAuthorizeProvider(context);

	// 注册 996文档中的Lua 代码提示提供器
	createLuaCompletionProvider(context);

	// 注册 996文档中的Lua 代码提示提供器
	createLuaHoverCompletionProvider(context);

	// 副驾驶// 不好用
	// createAlgCopilotProvider(context);
}

// This method is called when your extension is deactivated
export function deactivate() {
	vscode.window.showInformationMessage('alg阿灵戈社区通知你，你的996传奇引擎代码提示插件已经停止!');
}
